﻿#include<iostream>
using namespace std;





//
////实验三
//
//#include<iostream>
//using namespace std;
//
//
//
////实数的加减乘除
//class Real
//{
//public:
//	//构造函数
//	Real(double real = double())
//		:_real(real)
//	{}
//
//	//打印函数
//	void display()
//	{
//		cout << _real << endl;
//	}
//
//	////////////////////////////operator
//	Real operator+(Real x)
//	{
//		return Real(_real + x._real);
//	}
//
//	Real operator-(Real x)
//	{
//		return Real(_real - x._real);
//	}
//
//	Real operator*(Real x)
//	{
//		return Real(_real * x._real);
//	}
//
//	Real operator/(Real x)
//	{
//		return Real(_real / x._real);
//	}
//
//protected:
//	double _real;
//};
//
//
////复数的加减乘除
//class Complex : public Real
//{
//public:
//	//友元声明
//	friend ostream& operator<<(ostream& out, const Complex& x);
//
//
//	//构造函数
//	Complex(double real = double(), double image = double())
//		:Real(real)
//		, _image(image)
//	{}
//
//	Complex operator+(Complex x)
//	{
//		return Complex(_real + x._real, _image + x._image);
//	}
//
//
//	Complex operator-(Complex x)
//	{
//		return Complex(_real - x._real, _image - x._image);
//	}
//
//
//	Complex operator*(Complex x)
//	{
//		return Complex(_real * x._real - _image * x._image
//			, _image * x._real + _real * x._image);
//	}
//
//	Complex operator/(Complex x)
//	{
//		return Complex((_real * x._real + _image * x._image) 
//			/ (x._real * x._real + x._image * x._image),
//			(_image * x._real - _real * x._image) 
//			/ (x._real * x._real + x._image * x._image));
//	}
//
//
//protected:
//	double _image;
//};
//
//
//ostream& operator<<(ostream& out, const Complex& x)
//{
//
//	if (x._image > 0) out << "结果为：" << x._real << "+" << x._image << "i";
//	else if (x._image == 0) out << "结果为：" << x._real << endl;
//	else out << "结果为：" << x._real << "-" << -x._image << "i";
//	return out;
//}
//
//
//void calc()
//{
//	int input;
//	double a, b, c, d;
//	do
//	{
//
//		cout << "请输入你要操作的第一个复数:>(提示：输入两个数， 分别表示第一个复数的实数部分和虚数部分)";
//		cin >> a >> b;
//
//		cout << "请输入你要操作的第二个复数:>(提示：输入两个数， 分别表示第二个复数的实数部分和虚数部分)";
//		cin >> c >> d;
//		Complex k1(a, b);
//		Complex k2(c, d);
//
//
//		cout << "请输入你要进行的计算:" << endl;
//		cout << "**************************************" << endl;
//		cout << "****             1. Add           ****" << endl;
//		cout << "****             2. Sub           ****" << endl;
//		cout << "****             3. Mul           ****" << endl;
//		cout << "****             4. dvi           ****" << endl;
//		cout << "****             0.exit           ****" << endl;
//		cout << "**************************************" << endl;
//
//
//		cin >> input;
//
//		switch (input)
//		{
//		case 1:
//			cout << k1 + k2 << endl;
//			break;
//		case 2:
//			cout << k1 - k2 << endl;
//			break;
//		case 3:
//			cout << k1 * k2 << endl;
//			break;
//		case 4:
//			cout << k1 / k2 << endl;
//			break;
//		case 0:
//			break;
//		}
//
//
//
//	} while (input);
//}
//
//int main() 
//{
//
//	calc();
//
//	return 0;
//}
//
//#include<iostream>
//using namespace std;
//
//class Shape 
//{
//public:
//	//求自身的周长
//	virtual double Circuference()
//	{
//		return double();
//	}
//
//	//求自身的面积
//	virtual double Area() 
//	{
//		return double();
//	}
//
//	double _D;
//	double _S;
//};
//
//
////圆形
//class Circle : public Shape 
//{
//public:
//	Circle(double r = double()) 
//		:_r(r)
//	{}
//	virtual double Circuference()   //求边长
//	{
//		_D = 2 * _r * 3.14;
//		return _D;
//	}
//
//	virtual double Area()          //求面积
//	{
//		_S = 3.14 * _r * _r;
//		return _S;
//	}
//protected:
//	double _r;
//};
//
////椭圆
//class Ellipse : public Shape 
//{
//public:
//	Ellipse(double a = double(), double b = double()) 
//		:_a(a)
//		,_b(b)
//	{}
//	virtual double Circuference()         //求边长
//	{
//		//公式C≈π[3(a+b)− (3a + b)(a + 3b)]
//
//		_D = (3 * (_a + _b) - sqrt((3 * _a + _b) * (_a + 3 * _b))) * 3.14;
//		return _D;
//	}
//
//	virtual double Area()                 //求面积
//	{
//		_S = 3.14 * _a * _b;
//		return _S;
//	}
//
//protected:
//	double _a;
//	double _b;
//};
//
//
////三角形
//class Triangle : public Shape
//{
//public:
//	Triangle(double a = double(), double b = double(), double c = double()) 
//		:_a(a)
//		,_b(b)
//		,_c(c)
//	{}
//	virtual double Circuference()    //求边长 
//	{
//		_D = _a + _b + _c;
//		return _D;
//	}
//
//	virtual double Area()            //求面积
//	{
//		//利用海伦公式求面积;
//		//先求半周长
//		double p = (_a + _b + _c) / 2;
//		
//		_S = sqrt(p * (p - _a) * (p - _b) * (p - _c));
//		return _S;
//	}
//
//protected:
//	double _a; //三角形一条边长
//	double _b; //三角新第二条边长
//	double _c; //三角形第三条边长
//};
//
////矩形
//class Rectangle : public Shape
//{
//public:
//	Rectangle(double long_ = double(), double width = double())
//		:_long(long_)
//		,_width(width)
//	{}
//	virtual double Circuference()              //求边长
//	{
//		_D = 2 *(_long + _width);
//		return _D;
//	}
//
//	virtual double Area()                      //求面积
//	{
//		_S = _long * _width;
//		return _S;
//	}
//
//private:
//	double _long;
//	double _width;
//};
//
//int main() 
//{
//	//圆心计算
//	Circle cic(3.3);
//	cout << "圆形周长为: " << cic.Circuference() << endl;
//	cout << "圆形面积为: " << cic.Area() << endl;
//	cout << endl;
//
//	//椭圆计算
//	Ellipse elp(5, 7);
//	cout << "椭圆周长为: " << elp.Circuference() << endl;
//	cout << "椭圆面积为: " << elp.Area() << endl;
//	cout << endl;
//
//	//三角计算
//	Triangle tgl(2, 3, 4);
//	cout << "三角周长为: " << tgl.Circuference() << endl;
//	cout << "三角面积为: " << tgl.Area() << endl;
//	cout << endl;
//
//	//矩形计算
//	Rectangle rgl(4, 5);
//	cout << "矩形周长为: " << rgl.Circuference() << endl;
//	cout << "矩形面积为: " << rgl.Area() << endl;
//
//
//	return 0;
//}
//
//
//

//
////实验二
////第一题
//class Person 
//{
//public:
//	Person(int num = 0, string name = string()) 
//		:_num(num)
//		,_name(name)
//	{}
//	void display() 
//	{
//		cout << "编号:" << _num << "		" << "姓名:" << _name << "	";
//	}
//
//protected:
//	int _num;
//	string _name;
//};
//
//
////学生类
//class Student : public Person
//{
//public:
//	//学生类默认构造
//	Student(int num = 0, string name = string(), string cls = string(), int grade = 0)
//		:Person(num, name)
//		,_class(cls)
//		,_grade(grade)
//	{}
//	//展示
//	void display()
//	{
//		Person::display();
//		cout << "班级:" << _class << "	 " << "成绩:" << _grade << endl;
//	}
//
//
//private:
//	string _class; //班级
//	int _grade;    //成绩
//};
//
////教师类
//class Teacher : public Person 
//{
//public:
//	//教师类默认构造
//	Teacher(int num = 0, string name = string(), string title = string(), string sector = string()) 
//		:Person(num, name)
//		,_title(title)
//		,_sector(sector)
//	{}
//	//展示
//	void display() 
//	{
//		Person::display();
//		cout << "职称:" << _title << "	 " << "部门:" << _sector << endl;
//	}
//
//private:
//	string _title;   //职称
//	string _sector;  //部门
//};
//
//
//int main() 
//{
//	//创建教师对象
//	Teacher t1(1, "张三", "数学老师", "数学部");
//	Teacher t2(2, "李四", "语文老师", "语文部");
//	Teacher t3(2, "王五", "英语老师", "英语部");
//	//打印教师对象
//	t1.display();
//	t2.display();
//	t3.display();
//
//	//创建学生对象
//	Student s1(1, "小明", "计科233", 10);
//	Student s2(2, "小王", "计科234", 12);
//	Student s3(3, "小红", "计科235", 13);
//	//打印学生对象
//	s1.display();
//	s2.display();
//	s3.display();
//
//	return 0;
//}







//
////实验二
////// 第二题
//class Person_time
//{
//public:
//	Person_time(int time = 0)
//		:_time(time)
//	{}
//protected:
//	int _time; //花费时间
//};
//
//class Person_sale 
//{
//public:
//	Person_sale(int sale = 0)
//		:_sales(sale)
//	{}
//protected:
//	int _sales; //销售金额
//};
//
//
////公司经理, 不用继承， 工资固定
//class com_manger
//{
//public:
//	com_manger()
//	{}
//	//计算工资
//	void calc_wages()
//	{
//		cout << "公司经理的工资为:" << _wages << endl;
//	}
//protected:
//	int _wages = 18000;           //公司经理的固定薪资
//};
//
////兼职人员, 继承时间
//class part_emp :public Person_time
//{
//public:
//	part_emp(int time = 0)
//		:Person_time(time)
//	{}
//
//	//计算工资
//	void calc_wages()
//	{
//		cout << "兼职人员的工资为:" << _time_wages * _time << endl;;
//	}
//protected:
//	int _time_wages = 200;     //兼职人员的每小时薪资
//};
//
////销售经理， 继承销售金额
//class  sale_manger : public Person_sale
//{
//public:
//	sale_manger(int sales = 0)
//		:Person_sale(sales)
//	{}
//	//计算工资
//	void calc_wages()
//	{
//		cout << "销售经理的总工资为:" << _stable_wages + _com * _sales << endl;
//	}
//protected:
//	int _stable_wages = 6000;   //销售经理的固定薪资
//	double _com = 0.01;         //销售经理的提成
//};
//
//
////销售员, 继承销售金额
//class sale_emp : public Person_sale
//{
//public:
//	sale_emp(int sales = 0)
//		:Person_sale(sales)
//	{}
//
//	//计算工资
//	void calc_wages()
//	{
//		cout << "销售员的总工资:" << _com * _sales << endl;
//	}
//protected:
//	double _com = 0.08; //销售人员的提成
//};
//
//int main() 
//{
//	//公司经理
//	com_manger cmge;
//	cmge.calc_wages();
//
//	//兼职人员
//	part_emp pemp(30);
//	pemp.calc_wages();
//
//	//销售经理
//	sale_manger smge(100000);
//	smge.calc_wages();
//
//
//	//销售人员
//	sale_emp semp(100000);
//	semp.calc_wages();
//
//
//	return 0;
//}

//
////实验二
////第一题
//class Person 
//{
//public:
//	Person(int num = 0, string name = string()) 
//		:_num(num)
//		,_name(name)
//	{}
//	void display() 
//	{
//		cout << "编号:" << _num << "		" << "姓名:" << _name << "	";
//	}
//
//protected:
//	int _num;
//	string _name;
//};
//
//
////学生类
//class Student : public Person
//{
//public:
//	//学生类默认构造
//	Student(int num = 0, string name = string(), string cls = string(), int grade = 0)
//		:Person(num, name)
//		,_class(cls)
//		,_grade(grade)
//	{}
//	//展示
//	void display()
//	{
//		Person::display();
//		cout << "班级:" << _class << "	 " << "成绩:" << _grade << endl;
//	}
//
//
//private:
//	string _class; //班级
//	int _grade;    //成绩
//};
//
////教师类
//class Teacher : public Person 
//{
//public:
//	//教师类默认构造
//	Teacher(int num = 0, string name = string(), string title = string(), string sector = string()) 
//		:Person(num, name)
//		,_title(title)
//		,_sector(sector)
//	{}
//	//展示
//	void display() 
//	{
//		Person::display();
//		cout << "职称:" << _title << "	 " << "部门:" << _sector << endl;
//	}
//
//private:
//	string _title;   //职称
//	string _sector;  //部门
//};
//
//
//int main() 
//{
//	//创建教师对象
//	Teacher t1(1, "张三", "数学老师", "数学部");
//	Teacher t2(2, "李四", "语文老师", "语文部");
//	Teacher t3(2, "王五", "英语老师", "英语部");
//	//打印教师对象
//	t1.display();
//	t2.display();
//	t3.display();
//
//	//创建学生对象
//	Student s1(1, "小明", "计科233", 10);
//	Student s2(2, "小王", "计科234", 12);
//	Student s3(3, "小红", "计科235", 13);
//	//打印学生对象
//	s1.display();
//	s2.display();
//	s3.display();
//
//	return 0;
//}
#include<iostream>
#include<string>
using namespace std;


class Student 
{
public:

	Student(string name, string cls, string grade) 
		:_name(name)
		,_cls(cls)
		,_grade(grade)
	{}
	~Student() 
	{}

	void display() 
	{
		cout << "姓名: " << _name << "	班级: " << _cls << "	年级: " << _grade << endl;
	}

private:
	string _name;
	string _cls;
	string _grade;
};

int main()
{
	Student stu("张三", "233班", "23级计算机");
	stu.display();

	return 0;
}


//
//class Student 
//{
//public:
//
//	//构造函数
//	Student(string name = string(), string num = string(), int age = 0, string sex = string(), double grade = 0)
//		:_name(name)
//		,_num(num)
//		,_age(age)
//		,_sex(sex)
//		,_grade(grade)
//	{
//		_grade_max = max(_grade_max, _grade);
//		_grade_min = min(_grade_min, _grade);
//		_grade_sum += _grade;
//		count++;
//		_grade_ave = _grade_sum / count;
//	}
//
//	~Student() 
//	{}
//
//	//打印某个学生的成绩
//	void display() 
//	{
//		cout << "姓名: " << _name << "学号: " << _num << "年龄：" << _grade << "性别: " << _sex << "成绩: " << _grade << endl;
//	}
//
//	//统计输出
//	
//	//总成绩
//	static void display_sum() 
//	{
//		cout << "总成绩: " << _grade_sum << endl;
//	}
//
//	//总人数
//	static void display_count()
//	{
//		cout << "总人数: " << count << endl;
//	}
//
//	//总平均成绩
//	static void display_ave()
//	{
//		cout << "总平均成绩: " << _grade_ave << endl;
//	}
//
//	//最高成绩
//	static void display_max()
//	{
//		cout << "最高成绩: " << _grade_max << endl;
//	}
//
//	//最低成绩
//	static void display_min()
//	{
//		cout << "最低成绩: " << _grade_min << endl;
//	}
//
//protected:
//	static double _grade_ave;
//	static double _grade_min;
//	static double _grade_max;
//	static double _grade_sum;
//	static int count;
//
//private:
//	string _name;
//	string _num;
//	int _age;
//	string _sex;
//	double _grade;
//};
//
//double Student::_grade_ave = 0;
//double Student::_grade_min = INT_MAX;
//double Student::_grade_max = INT_MIN;
//double Student::_grade_sum = 0;
//int Student::count = 0;
//
//
//int main() 
//{
//	Student stu1("张三", "111", 17, "男", 98);
//	Student stu2("李四", "111", 20, "男", 78);
//	Student stu3("王五", "111", 19, "女", 68);
//	Student stu4("赵六", "111", 18, "男", 87);
//
//	Student::display_sum();
//	Student::display_ave();
//	Student::display_count();
//	Student::display_max();
//	Student::display_min();
//	
//	stu1.display();
//	stu2.display();
//	stu3.display();
//	stu4.display();
//
//	return 0;
//}